package org.springframework.samples.petclinic

import java.util.Collection
import org.springframework.dao.DataAccessException

trait Clinic {
  
  @throws(classOf[DataAccessException])
  def getVets(): Collection[Vet]

  @throws(classOf[DataAccessException])
  def getPetTypes(): Collection[PetType]

  @throws(classOf[DataAccessException])
  def findOwners(lastName:String): Collection[Owner]
  
  @throws(classOf[DataAccessException])
  def loadOwner(id:Int): Owner
  
  @throws(classOf[DataAccessException])
  def loadPet(id:Int): Pet
  
  @throws(classOf[DataAccessException])
  def storeOwner(owner:Owner): Unit

  @throws(classOf[DataAccessException])
  def storePet(pet:Pet): Unit

  @throws(classOf[DataAccessException])
  def storeVisit(visit:Visit): Unit
}
